﻿Public Class FrmMantAsignaPerfil
    Dim dc_resultado As Long
    Dim dg_resultado As String
    Dim dc_usuario As String
    Dim dg_usuario As String
    Dim dg_password As String
    Dim dg_mail As String
    Dim dm_vigente As String
    Dim dm_evento_load As Boolean
    Dim dg_perfil As String
    Dim dc_perfil As Integer

    Private Sub Nuevo()
        FraDetalle.Enabled = False
        FraEncabezado.Enabled = True
        TxtdcUsuario.Text = ""
        TxtdgUsuario.Text = ""
        LstAsignado.Items.Clear()
        LstDisponible.Items.Clear()
        TxtdcUsuario.Focus()
    End Sub

    Private Sub BuscarUsuario()

        If TxtdcUsuario.Text.Trim.Length = 0 Then Exit Sub

        dc_usuario = TxtdcUsuario.Text.Trim.ToUpper
        dc_resultado = ModSeguridad.BuscarUsuario(dc_usuario, dg_usuario, dg_password, dg_mail, dm_vigente, dg_resultado)
        If dc_resultado <> 0 Then
            MsgBox(dg_resultado, MsgBoxStyle.Information)
            Me.TxtdcUsuario.Text = ""
            Me.TxtdgUsuario.Text = ""
            Exit Sub
        Else
            Me.TxtdgUsuario.Text = dg_usuario
        End If

    End Sub

    Private Sub CmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSalir.Click
        Me.Close()
    End Sub

    Private Sub TxtdcUsuario_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtdcUsuario.GotFocus
        Me.TxtdcUsuario.SelectionStart = 0
        Me.TxtdcUsuario.SelectionLength = Me.TxtdcUsuario.TextLength
    End Sub

    Private Sub TxtdcUsuario_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtdcUsuario.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Call BuscarUsuario()
        End If
    End Sub


    Private Sub CmdBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdBuscar.Click
        If TxtdcUsuario.Text.Trim.Length = 0 Then Exit Sub
        dc_usuario = TxtdcUsuario.Text.Trim.ToUpper
        dc_resultado = ModSeguridad.ConsultaPerfilesDisponibles(dc_usuario, LstDisponible, dg_resultado)
        dc_resultado = ModSeguridad.ConsultaPerfilesAsociados(dc_usuario, LstAsignado, dg_resultado)
        FraEncabezado.Enabled = False
        FraDetalle.Enabled = True

    End Sub

    Private Sub TxtdcUsuario_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtdcUsuario.LostFocus
        If TxtdcUsuario.Text.Trim.Length = 0 Then Exit Sub
        Call BuscarUsuario()
    End Sub

    Private Sub FrmMantAsignaPerfil_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        dm_evento_load = True
        Call nuevo()
        dm_evento_load = False
    End Sub

    Private Sub CmdAsignar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAsignar.Click
        If LstDisponible.Items.Count = 0 Then Exit Sub
        If LstDisponible.SelectedItem <> "" Then
            dg_perfil = LstDisponible.SelectedItem
            dc_perfil = Mid(dg_perfil, 1, InStr(dg_perfil, "|") - 1)
            dg_perfil = Mid(dg_perfil, InStr(dg_perfil, "|") + 1, Len(dg_perfil))
            LstDisponible.Items.Remove(LstDisponible.SelectedItem)

            dc_resultado = Insertar_perfil_Usuario(dc_perfil, dc_usuario, dg_resultado)
            dc_resultado = ModSeguridad.ConsultaPerfilesDisponibles(dc_usuario, LstDisponible, dg_resultado)
            dc_resultado = ModSeguridad.ConsultaPerfilesAsociados(dc_usuario, LstAsignado, dg_resultado)

        End If

    End Sub

    Private Sub cmdNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNuevo.Click
        Call Nuevo()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If LstAsignado.Items.Count = 0 Then Exit Sub
        If LstAsignado.SelectedItem <> "" Then
            dg_perfil = LstAsignado.SelectedItem
            dc_perfil = Mid(dg_perfil, 1, InStr(dg_perfil, "|") - 1)
            dg_perfil = Mid(dg_perfil, InStr(dg_perfil, "|") + 1, Len(dg_perfil))
            LstAsignado.Items.Remove(LstAsignado.SelectedItem)

            dc_resultado = Elimina_perfil_Usuario(dc_perfil, dc_usuario, dg_resultado)
            dc_resultado = ModSeguridad.ConsultaPerfilesDisponibles(dc_usuario, LstDisponible, dg_resultado)
            dc_resultado = ModSeguridad.ConsultaPerfilesAsociados(dc_usuario, LstAsignado, dg_resultado)

        End If

    End Sub
End Class